<!--

     Licensed to the Apache Software Foundation (ASF) under one
     or more contributor license agreements.  See the NOTICE file
     distributed with this work for additional information
     regarding copyright ownership.  The ASF licenses this file
     to you under the Apache License, Version 2.0 (the
     "License"); you may not use this file except in compliance
     with the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing,
     software distributed under the License is distributed on an
     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
     KIND, either express or implied.  See the License for the
     specific language governing permissions and limitations
     under the License.

-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- **************************************************************** -->
<!-- *  PLEASE KEEP COMPLICATED EXPRESSIONS OUT OF THESE TEMPLATES, * -->
<!-- *  i.e. only iterate & print data where possible. Thanks, Jez. * -->
<!-- **************************************************************** -->

<html>
<head>
    <!-- Generated by groovydoc (2.4.5) on Mon Sep 12 08:35:19 CEST 2016 -->
    <title>OAuth2Auth (Groovy Documentation)</title>
    <meta name="date" content="2016-09-12">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <link href="../../../../../../groovy.ico" type="image/x-icon" rel="shortcut icon">
    <link href="../../../../../../groovy.ico" type="image/x-icon" rel="icon">
    <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">

<body class="center">
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
    parent.document.title="OAuth2Auth (Groovy Documentation)";
}
//-->
</script>
<noscript>
    <div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
    <!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
    <!--   -->
</a>
    <ul class="navList" title="Navigation">
        <li><a href="../../../../../../overview-summary.html">Overview</a></li>
        <li><a href="package-summary.html">Package</a></li>
        <li class="navBarCell1Rev">Class</li>
        <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
        <li><a href="../../../../../../index-all.html">Index</a></li>
        <li><a href="../../../../../../help-doc.html">Help</a></li>
    </ul>
</div>

<div class="subNav">
    <div>
        <ul class="navList">
            <li><a href="../../../../../../index.html?io/vertx/groovy/ext/auth/oauth2/OAuth2Auth" target="_top">Frames</a></li>
            <li><a href="OAuth2Auth.html" target="_top">No Frames</a></li>
        </ul>
    </div>
    <div>
        <ul class="subNavList">
            <li>Summary:&nbsp;</li>
            Nested&nbsp;&nbsp;&nbsp;Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a href="#constructor_summary">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#method_summary">Method</a></li>&nbsp;&nbsp;&nbsp;
        </ul>
        <ul class="subNavList">
            <li>&nbsp;|&nbsp;Detail:&nbsp;</li>
            Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a href="#constructor_detail">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#method_detail">Method</a></li>&nbsp;&nbsp;&nbsp;
        </ul>
    </div>
    <a name="skip-navbar_top">
        <!--   -->
    </a></div>
<!-- ========= END OF TOP NAVBAR ========= -->

<!-- ======== START OF CLASS DATA ======== -->
<div class="header">

    <div class="subTitle">Package: <strong>io.vertx.groovy.ext.auth.oauth2</strong></div>

    <h2 title="[Groovy] Class OAuth2Auth" class="title">[Groovy] Class OAuth2Auth</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><ul class="inheritance"></ul></li><li><ul class="inheritance"></ul></li><li>io.vertx.groovy.ext.auth.oauth2.OAuth2Auth
</ul>
<div class="description">
    <ul class="blockList">
        <li class="blockList">



    <p> Factory interface for creating OAuth2 based <a href='../../../../../../io/vertx/groovy/ext/auth/AuthProvider.html' title='AuthProvider'>AuthProvider</a> instances.
</p>

          </li>
    </ul>
</div>

<div class="summary">
    <ul class="blockList">
        <li class="blockList">
        <!-- =========== NESTED CLASS SUMMARY =========== -->
        

        <!-- =========== ENUM CONSTANT SUMMARY =========== -->
        
        <!-- =========== FIELD SUMMARY =========== -->
        

        <!-- =========== PROPERTY SUMMARY =========== -->
        

        <!-- =========== ELEMENT SUMMARY =========== -->
        

        
        <!-- ======== CONSTRUCTOR SUMMARY ======== -->
        <ul class="blockList">
                <li class="blockList"><a name="constructor_summary"><!--   --></a>
                    <h3>Constructor Summary</h3>
                    <ul class="blockList">
                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructors Summary table">
                        <caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
                        <tr>
                            <th class="colFirst" scope="col">Constructor and description</th>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst">
                                <code><a href="#OAuth2Auth(java.lang.Object)">OAuth2Auth</a></strong>
                                (java.lang.Object delegate)</code><br></td>
                        </tr>
                        
                    </table>
                   </ul>
              </li>
        </ul>
        

        
        <!-- ========== METHOD SUMMARY =========== -->
        <ul class="blockList">
            
            <li class="blockList"><a name="method_summary"><!--   --></a>
                    <h3>Methods Summary</h3>
                    <ul class="blockList">
                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Methods Summary table">
                        <caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
                        <tr>
                            <th class="colFirst" scope="col">Type</th>
                            <th class="colLast" scope="col">Name and description</th>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code><a href='../../../../../../io/vertx/groovy/ext/auth/oauth2/OAuth2Auth.html'>OAuth2Auth</a></strong></code></td>
                            <td class="colLast"><code><strong><a href="#api(io.vertx.core.http.HttpMethod, java.lang.String, Map<String, Object>, Handler<AsyncResult<Map<String, Object>>>)">api</a></strong>(io.vertx.core.http.HttpMethod method, java.lang.String path, java.util.Map&lt;java.lang.String, java.lang.Object&gt; params, io.vertx.core.Handler&lt;io.vertx.core.AsyncResult&lt;java.util.Map&lt;java.lang.String, java.lang.Object&gt;&gt;&gt; handler)</code><br>Call OAuth2 APIs.</td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code>java.lang.String</strong></code></td>
                            <td class="colLast"><code><strong><a href="#authorizeURL(Map<String, Object>)">authorizeURL</a></strong>(java.util.Map&lt;java.lang.String, java.lang.Object&gt; params)</code><br>Generate a redirect URL to the authN/Z backend. </td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>static&nbsp;<a href='../../../../../../io/vertx/groovy/ext/auth/oauth2/OAuth2Auth.html'>OAuth2Auth</a></strong></code></td>
                            <td class="colLast"><code><strong><a href="#create(io.vertx.groovy.core.Vertx, io.vertx.ext.auth.oauth2.OAuth2FlowType, Map<String, Object>)">create</a></strong>(<a href='../../../../../../io/vertx/groovy/core/Vertx.html'>Vertx</a> vertx, io.vertx.ext.auth.oauth2.OAuth2FlowType flow, java.util.Map&lt;java.lang.String, java.lang.Object&gt; config)</code><br>Create a OAuth2 auth provider</td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code>static&nbsp;<a href='../../../../../../io/vertx/groovy/ext/auth/oauth2/OAuth2Auth.html'>OAuth2Auth</a></strong></code></td>
                            <td class="colLast"><code><strong><a href="#create(io.vertx.groovy.core.Vertx, io.vertx.ext.auth.oauth2.OAuth2FlowType)">create</a></strong>(<a href='../../../../../../io/vertx/groovy/core/Vertx.html'>Vertx</a> vertx, io.vertx.ext.auth.oauth2.OAuth2FlowType flow)</code><br>Create a OAuth2 auth provider</td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>static&nbsp;<a href='../../../../../../io/vertx/groovy/ext/auth/oauth2/OAuth2Auth.html'>OAuth2Auth</a></strong></code></td>
                            <td class="colLast"><code><strong><a href="#createKeycloak(io.vertx.groovy.core.Vertx, io.vertx.ext.auth.oauth2.OAuth2FlowType, Map<String, Object>)">createKeycloak</a></strong>(<a href='../../../../../../io/vertx/groovy/core/Vertx.html'>Vertx</a> vertx, io.vertx.ext.auth.oauth2.OAuth2FlowType flow, java.util.Map&lt;java.lang.String, java.lang.Object&gt; config)</code><br>Create a OAuth2 auth provider</td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code>java.lang.Object</strong></code></td>
                            <td class="colLast"><code><strong><a href="#getDelegate()">getDelegate</a></strong>()</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>void</strong></code></td>
                            <td class="colLast"><code><strong><a href="#getToken(Map<String, Object>, Handler<AsyncResult<AccessToken>>)">getToken</a></strong>(java.util.Map&lt;java.lang.String, java.lang.Object&gt; params, io.vertx.core.Handler&lt;io.vertx.core.AsyncResult&lt;<a href='../../../../../../io/vertx/groovy/ext/auth/oauth2/AccessToken.html' title='AccessToken'>AccessToken</a>&gt;&gt; handler)</code><br>Returns the Access Token object.</td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code>boolean</strong></code></td>
                            <td class="colLast"><code><strong><a href="#hasJWTToken()">hasJWTToken</a></strong>()</code><br>Returns true if this provider supports JWT tokens as the access_token. </td>
                        </tr>
                        
                    </table>
                   </ul>
              </li>
            
            <li class="blockList"><a name="method_summary"><!--   --></a>
                    <h3>Inherited Methods Summary</h3>
                    <ul class="blockList">
                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Inherited Methods Summary table">
                        <caption><span>Inherited Methods</span><span class="tabEnd">&nbsp;</span></caption>
                        <tr>
                            <th class="colFirst" scope="col">Methods inherited from class</th>
                            <th class="colLast" scope="col">Name</th>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>class <a href='../../../../../../io/vertx/groovy/ext/auth/AuthProvider.html'>AuthProvider</a></strong></code></td>
                            <td class="colLast"><code><a href='../../../../../../io/vertx/groovy/ext/auth/AuthProvider.html#authenticate(Map<String, Object>, Handler<AsyncResult<User>>)'>authenticate</a>, <a href='../../../../../../io/vertx/groovy/ext/auth/AuthProvider.html#getDelegate()'>getDelegate</a></code></td>
                        </tr>
                        <tr class="altColor">
                            <td class="colFirst"><code>class java.lang.Object</strong></code></td>
                            <td class="colLast"><code>java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()</code></td>
                        </tr>
                    </table>
                   </ul>
              </li>
                
        </ul>
        
    </li>
    </ul>
</div>

<div class="details">
    <ul class="blockList">
        <li class="blockList">
           

            

            

            

            
            <!-- =========== CONSTRUCTOR DETAIL =========== -->
            <ul class="blockList">
                <li class="blockList"><a name="constructor_detail">
                    <!--   -->
                </a>
                    <h3>Constructor Detail</h3>
                    
                        <a name="OAuth2Auth(java.lang.Object)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4><strong>OAuth2Auth</strong>(java.lang.Object delegate)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                </li>
            </ul>
            


            
            <!-- =========== METHOD DETAIL =========== -->
            <ul class="blockList">
                <li class="blockList"><a name="method_detail">
                    <!--   -->
                </a>
                    <h3>Method Detail</h3>
                    
                        <a name="api(io.vertx.core.http.HttpMethod, java.lang.String, Map<String, Object>, Handler<AsyncResult<Map<String, Object>>>)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4><a href='../../../../../../io/vertx/groovy/ext/auth/oauth2/OAuth2Auth.html'>OAuth2Auth</a> <strong>api</strong>(io.vertx.core.http.HttpMethod method, java.lang.String path, java.util.Map&lt;java.lang.String, java.lang.Object&gt; params, io.vertx.core.Handler&lt;io.vertx.core.AsyncResult&lt;java.util.Map&lt;java.lang.String, java.lang.Object&gt;&gt;&gt; handler)</h4>
                                <p> Call OAuth2 APIs.
   <DL><DT><B>Returns:</B></DT><DD>self</DD></DL><DL><DT><B>Parameters:</B></DT><DD><code>method</code> -  HttpMethod</DD><DD><code>path</code> -  target path</DD><DD><code>params</code> -  parameters</DD><DD><code>handler</code> -  handler</DD></DL></p>
                            </li>
                        </ul>
                    
                        <a name="authorizeURL(Map<String, Object>)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.String <strong>authorizeURL</strong>(java.util.Map&lt;java.lang.String, java.lang.Object&gt; params)</h4>
                                <p> Generate a redirect URL to the authN/Z backend. It only applies to auth_code flow. <DL><DT><B>Returns:</B></DT><DD></DD></DL><DL><DT><B>Parameters:</B></DT><DD>params</DD></DL></p>
                            </li>
                        </ul>
                    
                        <a name="create(io.vertx.groovy.core.Vertx, io.vertx.ext.auth.oauth2.OAuth2FlowType, Map<String, Object>)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>static&nbsp;<a href='../../../../../../io/vertx/groovy/ext/auth/oauth2/OAuth2Auth.html'>OAuth2Auth</a> <strong>create</strong>(<a href='../../../../../../io/vertx/groovy/core/Vertx.html'>Vertx</a> vertx, io.vertx.ext.auth.oauth2.OAuth2FlowType flow, java.util.Map&lt;java.lang.String, java.lang.Object&gt; config)</h4>
                                <p> Create a OAuth2 auth provider
   <DL><DT><B>Returns:</B></DT><DD>the auth provider</DD></DL><DL><DT><B>Parameters:</B></DT><DD><code>vertx</code> -  the Vertx instance</DD><DD>flow</DD><DD><code>config</code> -  the config (see <a href="../../../../../../../../cheatsheet/OAuth2ClientOptions.html">OAuth2ClientOptions</a>)</DD></DL></p>
                            </li>
                        </ul>
                    
                        <a name="create(io.vertx.groovy.core.Vertx, io.vertx.ext.auth.oauth2.OAuth2FlowType)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>static&nbsp;<a href='../../../../../../io/vertx/groovy/ext/auth/oauth2/OAuth2Auth.html'>OAuth2Auth</a> <strong>create</strong>(<a href='../../../../../../io/vertx/groovy/core/Vertx.html'>Vertx</a> vertx, io.vertx.ext.auth.oauth2.OAuth2FlowType flow)</h4>
                                <p> Create a OAuth2 auth provider
   <DL><DT><B>Returns:</B></DT><DD>the auth provider</DD></DL><DL><DT><B>Parameters:</B></DT><DD><code>vertx</code> -  the Vertx instance</DD><DD>flow</DD></DL></p>
                            </li>
                        </ul>
                    
                        <a name="createKeycloak(io.vertx.groovy.core.Vertx, io.vertx.ext.auth.oauth2.OAuth2FlowType, Map<String, Object>)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>static&nbsp;<a href='../../../../../../io/vertx/groovy/ext/auth/oauth2/OAuth2Auth.html'>OAuth2Auth</a> <strong>createKeycloak</strong>(<a href='../../../../../../io/vertx/groovy/core/Vertx.html'>Vertx</a> vertx, io.vertx.ext.auth.oauth2.OAuth2FlowType flow, java.util.Map&lt;java.lang.String, java.lang.Object&gt; config)</h4>
                                <p> Create a OAuth2 auth provider
   <DL><DT><B>Returns:</B></DT><DD>the auth provider</DD></DL><DL><DT><B>Parameters:</B></DT><DD><code>vertx</code> -  the Vertx instance</DD><DD>flow</DD><DD><code>config</code> -  the config as exported from the admin console</DD></DL></p>
                            </li>
                        </ul>
                    
                        <a name="getDelegate()"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>getDelegate</strong>()</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="getToken(Map<String, Object>, Handler<AsyncResult<AccessToken>>)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>void <strong>getToken</strong>(java.util.Map&lt;java.lang.String, java.lang.Object&gt; params, io.vertx.core.Handler&lt;io.vertx.core.AsyncResult&lt;<a href='../../../../../../io/vertx/groovy/ext/auth/oauth2/AccessToken.html' title='AccessToken'>AccessToken</a>&gt;&gt; handler)</h4>
                                <p> Returns the Access Token object.
   <DL><DT><B>Parameters:</B></DT><DD><code>params</code> -  - JSON with the options, each flow requires different options.</DD><DD><code>handler</code> -  - The handler returning the results.</DD></DL></p>
                            </li>
                        </ul>
                    
                        <a name="hasJWTToken()"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>boolean <strong>hasJWTToken</strong>()</h4>
                                <p> Returns true if this provider supports JWT tokens as the access_token. This is typically true if the provider
 implements the `openid-connect` protocol. This is a plain return from the config option jwtToken, which is false
 by default.

 This information is important to validate grants. Since pure OAuth2 should be used for authorization and when a
 token is requested all grants should be declared, in case of openid-connect this is not true. OpenId will issue
 a token and all grants will be encoded on the token itself so the requester does not need to list the required
 grants.
   <DL><DT><B>Returns:</B></DT><DD>true if openid-connect is used.</DD></DL></p>
                            </li>
                        </ul>
                    
                </li>
            </ul>
            
        </li>
    </ul>
</div>

<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
    <!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
    <!--   -->
</a>
    <ul class="navList" title="Navigation">
        <li><a href="../../../../../../overview-summary.html">Overview</a></li>
        <li><a href="package-summary.html">Package</a></li>
        <li class="navBarCell1Rev">Class</li>
        <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
        <li><a href="../../../../../../index-all.html">Index</a></li>
        <li><a href="../../../../../../help-doc.html">Help</a></li>
    </ul>
</div>

<div class="subNav">
    <div>
        <ul class="navList">
            <li><a href="../../../../../../index.html?io/vertx/groovy/ext/auth/oauth2/OAuth2Auth" target="_top">Frames</a></li>
            <li><a href="OAuth2Auth.html" target="_top">No Frames</a></li>
        </ul>
    </div>
    <div>
        <ul class="subNavList">
            <li>Summary:&nbsp;</li>
            Nested&nbsp;&nbsp;&nbsp;Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a href="#constructor_summary">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#method_summary">Method</a></li>&nbsp;&nbsp;&nbsp;
        </ul>
        <ul class="subNavList">
            <li>&nbsp;|&nbsp;Detail:&nbsp;</li>
            Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a href="#constructor_detail">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#method_detail">Method</a></li>&nbsp;&nbsp;&nbsp;
        </ul>
    </div>
    <p>Groovy Documentation</p>
    <a name="skip-navbar_bottom">
        <!--   -->
    </a>
    </div>
</div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>